/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.edu.upc.sad.controller;
import com.google.gson.Gson;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession;
import pe.edu.upc.sad.model.Empresa;
import pe.edu.upc.sad.model.MensajeResultado; 
import pe.edu.upc.sad.model.Usuario;
/**
 *
 * @author HP
 */
public class SessionActive extends HttpServlet {



    @Override
    public void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException,
            IOException {

        Gson gson = new Gson();
        try
        { 
           String tiposession =  (request.getParameter("tiposession") != null) ?   request.getParameter("tiposession").toString() : "";
           MensajeResultado oResultado = null;
           HttpSession session = request.getSession(true);
           boolean est =false;
           String var= "";
           String id_return = ""; /* codigo usuario */
            String tipo_return = "";  /* usuario - empresa */
           if(tiposession.toString().equals("usuario"))
           { 
                Usuario usersS = (Usuario)session.getAttribute("usuario");
                if (usersS != null) {
                     est = true;/* si existe la session */
                     var = usersS.getNombres() + ", " +  usersS.getApellidos() ;
                     tipo_return = "usuario";
                     id_return =  usersS.getDni().toString();
                }else
                {
                    Empresa empresaS = (Empresa)session.getAttribute("empresa");
                    if (empresaS != null) {
                         est = true;/* si existe la session */
                         var = empresaS.getRazonSocial();
                         tipo_return = "empresa";
                         id_return = empresaS.getRuc().toString();
                    }
                }
           }
           else  if(tiposession.toString().equals("empresa"))
           {               
               
           }else
           {                      
              est =false;
           }   
           if(est)
           {
                oResultado = new MensajeResultado();
                oResultado.setESTADO(1);
                oResultado.setMENSAJE("existe la session");
                oResultado.setID_RETURN(id_return);
                oResultado.setTIPO_RETURN(tipo_return);
                oResultado.setDETALLE(var);
           }else
           {
                oResultado = new MensajeResultado();
                oResultado.setESTADO(0);
                oResultado.setMENSAJE("No hay session");
                oResultado.setID_RETURN(id_return);
                oResultado.setTIPO_RETURN(tipo_return);
                oResultado.setDETALLE(var);
           }
            
            String json = "{'MensajeResultado':";
            json += gson.toJson(oResultado) + "}";
 
            response.setContentType("text/x-json;charset=UTF-8");
            response.setHeader("Cache-Control", "no-cache"); 
            PrintWriter out = response.getWriter();
            out.println(json);

            out.close();
            out.flush();

        }catch(Exception e)
        {
            //System.out.println("Error en la pagina" + e.getMessage());
            MensajeResultado  oResultado = new MensajeResultado();
            oResultado.setESTADO(0);
            oResultado.setDETALLE(e.getMessage().toString());
            oResultado.setMENSAJE("no hay session");
            oResultado.setID_RETURN("");
            oResultado.setTIPO_RETURN("");
            String json = "{'MensajeResultado':";
            json += gson.toJson(oResultado)  + "}";
            response.setContentType("text/x-json;charset=UTF-8");
            response.setHeader("Cache-Control", "no-cache"); 
            PrintWriter out = response.getWriter();
            out.println(json);

            out.close();
            out.flush();

        }
    }

    @Override
    public void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException,
            IOException {

    }
}
